package cn.iocoder.yudao.module.vlog.info.vo;

import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.module.api.vlog.info.enums.VLogStatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

@Schema(description = "视频信息修改 Request VO")
@Data
public class VLogInfoUpdateReqVO {

    @Schema(description = "唯一编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8137")
    private Long id;

    @Schema(description = "封面地址", example = "https://www.example.com/xxx.jpg")
    @NotEmpty(message = "封面地址不能为空")
    private String coverUrl;

    @Schema(description = "视频标题", example = "资本家是如何榨取剩余劳动价值的")
    private String title;

    @Schema(description = "状态：0-待审核、1-展示中、2-已下架", example = "1")
    @NotNull(message = "状态不能为空")
    @InEnum(value = VLogStatusEnum.class, message = "状态必须是 {value}")
    private Integer status;

    @Schema(description = "关联产品编号", example = "18")
    private Long spuId;

    @Schema(description = "纬度", example = "106.690801")
    private BigDecimal latitude;

    @Schema(description = "经度", example = "26.567322")
    private BigDecimal longitude;

}
